What needs to be considered when setting up for Linux Development? [closed]
Posted
by
user123586
on Super User
See other posts from Super User
or by user123586
Published on 2012-03-18T13:59:20Z
Indexed on
2012/03/19
2:07 UTC
Read the original article
Hit count: 204
Development
I want to set up a box for Linux development.
I have a working linux install with the usual toolchain and an IDE. I'm looking for advice on how to approach structuring accounts and folders for development. As the Perl folks say "There's always more than one way to do it." Left to my own devices, I'll come up with several unproductive ways of doing it before figuring out what an experienced Linux programmer would think obvious.
I'm not looking for instructions to follow for a specific set of tools or a specific software package. Instead, I'm looking for insight into what decisions need to be made and how to make them, with understanding of the advantages and disadvantages of each individual choice.
These are some of the questions that come up:
- Where to put sources
- Where to put built object files and libraries
- where to install
- what to set in environment variables
- what compiler flags matter and how do you manage them across several types of builds
- what configuration entries to make in an IDE
- how to manage libraries to support multiple environments
- how to handle different build versions such as debug vs release, or cross platform builds
If you are an experienced Linux developer, the answers to these questions may seem trivial and obvious.
I'd like to learn to make decisions about these questions that result in as little manual configuration as possible, given some existing sources, a particular IDE, or no IDE at all, a paticular set of development libraries etc.
At this point you're probably thinking: Can you be more specific? Sure. But remember that I'm trying to learn how to think about this stuff, not just follow a recipie for a specific set of results.
Example:
Setup a project that uses CMake for some of its components, autogen.sh followed by configure for others and just configure for a few more:
- debug builds without an IDE
- debug builds in NetBeans
- debug builds in Eclipse
- debug build in Visual Studio
all of the above with release builds for Linux, Mac and Windows.
So...
**What are your thoughts on an approach that works for all four?
Do you have any advice on what to read?**
© Super User or respective owner